Thread contention for shared platform resources such as cache space and memory bandwidth is an increasingly common problem in datacenter and communications scenarios. For example, in a datacenter heavy consolidation may lead to situations where applications are running from tens to hundreds of users on the same platform without any visibility into what is co-running. As such, a given user's application may slow down significantly due to contention for shared cache, memory, and/or input/output (I/O) resources. For example, an application virtual machine (VM) has no way to tell what else is running on the platform, has no control over platform resources, and has no guarantee that the application VM will receive a fair share of platform resources such as cache space and memory bandwidth. Other VMs may thrash available cache, consume excessive memory bandwidth, etc. and the application VM would be slowed significantly without any control or fairness mechanisms.